import {
  // create naive ui
  create,
  NAvatar,
  NBackTop,
  NBreadcrumb,
  NBreadcrumbItem,
  NButton,
  NButtonGroup,
  NCard,
  NCascader,
  NCheckbox,
  NCheckboxGroup,
  NCol,
  NCollapse,
  NCollapseItem,
  NColorPicker,
  // component
  NConfigProvider,
  NDataTable,
  NDatePicker,
  NDescriptions,
  NDescriptionsItem,
  NDivider,
  NDrawer,
  NDrawerContent,
  NDropdown,
  NDynamicInput,
  NForm,
  NFormItem,
  NFormItemGi,
  NGradientText,
  NGrid,
  NIcon,
  NImage,
  NInput,
  NInputGroup,
  NInputGroupLabel,
  NInputNumber,
  NMenu,
  NModal,
  NPopconfirm,
  NPopover,
  NRadio,
  NRadioButton,
  NRadioGroup,
  NResult,
  NRow,
  NScrollbar,
  NSelect,
  NSkeleton,
  NSpace,
  NSpin,
  NSwitch,
  NTab,
  NTable,
  NTabPane,
  NTabs,
  NTag,
  NTooltip,
  NTree,
  NTreeSelect,
  NUpload,
} from 'naive-ui'

const naive = create({
  components: [
    NConfigProvider,
    NAvatar,
    NCard,
    NDropdown,
    NTag,
    NForm,
    NFormItem,
    NFormItemGi,
    NSelect,
    NTreeSelect,
    NInput,
    NInputNumber,
    NButton,
    NColorPicker,
    NCheckbox,
    NDivider,
    NDatePicker,
    NRadio,
    NRadioGroup,
    NSwitch,
    NUpload,
    NDataTable,
    NCheckboxGroup,
    NTree,
    NBreadcrumb,
    NBreadcrumbItem,
    NMenu,
    NRow,
    NCol,
    NTabs,
    NTabPane,
    NTab,
    NTooltip,
    NGrid,
    NSpace,
    NRadioButton,
    NPopover,
    NModal,
    NScrollbar,
    NSpin,
    NIcon,
    NDynamicInput,
    NDrawer,
    NDrawerContent,
    NResult,
    NPopconfirm,
    NBackTop,
    NTable,
    NCollapse,
    NCollapseItem,
    NInputGroup,
    NInputGroupLabel,
    NGradientText,
    NImage,
    NSkeleton,
    NCascader,
    NDescriptions,
    NDescriptionsItem,
    NButtonGroup,
  ],
})

export function setupNaiveComponent(app) {
  app.use(naive)
}
